package com.huashi.dealer.enums.order;

import com.huashi.dealer.enums.EnumBasics;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 订单来源枚举类
 */
@Getter
@AllArgsConstructor
public enum OrderSource implements EnumBasics {

    // 普通订单
    MASTER(10, "普通订单"),

    // 砍价订单
    BARGAIN(20, "砍价订单"),

    // 秒杀订单
    SHARP(30, "秒杀订单"),

    // 返利订单
    REBATE(40, "返利订单"),

    // 核销订单
    WRITEOFF(50, "核销订单");

    private final Integer value;
    private final String name;

    /**
     * 获取枚举数据
     * @return 枚举数组
     */
    @Override
    public EnumBasics[] data() {
        return values();
    }

    /**
     * 根据值获取枚举
     * @param value 枚举值
     * @return 枚举对象
     */
    public static OrderSource getByValue(Integer value) {
        return (OrderSource) EnumBasics.getByValue(values(), value);
    }
} 